/**
 * 窗口中的窗口
 */

//存储货物信息
var goodsData;

//基本信息
var baseInfoData;

//存储修改时被删除的货物id
var selectedByDeleteId = "";

//货物展示table元素
var goodsTableEle = $("#goodsTable");

//获取展示基本信息的table元素
var baseInfoTableEle = $("#baseInfoTable");

//记录添加货物的id
var countIndex = -1;

//获取当页面父窗口的table表格
var parentTable  = parent.cTable;

//获取货架信息
var storagePositionData = requestData(path+"/repository/storagePosition");

//获取货物分类信息
var productClass = requestData(path + "/repository/product-class");

//只包含id和货架名
var storageMap = {};
var productClassMap = {};

for(var i = 0;i<storagePositionData.length;i++){
	
	var temp = storagePositionData[i].stgPosId;
	
	storageMap[temp] = storagePositionData[i].stgPosMark + storagePositionData[i].stgPosNature;
}

$(function(){
   
	if(productClass != -1){
		for(var i = 0;i < productClass.length;i++){
			productClassMap[productClass[i].productClassId] = productClass[i].productClassName;
		}
	}
	
	var data = {
		columns: [{
			field: 'checked',
			checkbox: true
		}, {
			field: 'goodsListProductId',
			visible: false
		}, {
			field: 'goodsListProductName',
			title: '货物名称'
		}, {
			field: 'goodsListProductAmount',
			title: '货物数量'
		}, {
			field: 'goodsListProductUnit',
			title: '货物单位'
		}, {
			field: 'goodsListProductClass',
			title: '货物分类',
			formatter: function (value, row, index) {
				
				if(typeof(productClassMap[value]) == 'undefined'){
					return "该货物分类被删除了!";
				}else {
					return productClassMap[value];
				}
			}
		}, {
			field: 'goodsListStorageId',
			title: '所属货架',
			formatter: function (value, row, index) {
				
				for(var i = 0;i<storagePositionData.length;i++){
					
					if(storagePositionData[i].stgPosId == value){
						
						return  storagePositionData[i].stgPosMark +"("+storagePositionData[i].stgPosNature+")";
						
					}
				}
				
			}
		}],	
		sortable: true,
        sortOrder: "asc",
        search: true,
        uniqueId: "goodsListProductId"
   }
   
   renderTable(cTable,data);
   
   setSearchPlaceholder("全部列都可以做搜索");
   
   //开始日期
   laydate.render({ 
     elem: '#stockInTime'
     ,type: 'datetime'
   });
   
   //step 插件
   layui.use('steps',function(){
	   	var $step = $("#step").step();
	   	//导航步骤组建
	   	$("#preBtn").click(function(event) {
	   		$step.preStep();//上一步
	   	});
	   	$("#nextBtn").click(function(event) {
	   		if($step.getCurPage()==2){
	   			goodsTableEle.children().remove();
	   			renderPage3();
	   		}
	   		
	   		$step.nextStep();//下一步
	   	});
	   	$("#startBtn").click(function(event) {
	   		$step.goStep(1);//到指定步
	   	});
   })
   
   form.render();
   
})

//渲染第三个选项
function renderPage3(){
	
	//获取表格所有数据
	goodsData = cTable.bootstrapTable('getData');
	
	//获取基本信息表单数据
	baseInfoData = $("#pageOneForm").serializeArray();
	
	//展示基本信息
	for (var i = 0;i<baseInfoData.length;i++){
		
		baseInfoTableEle.find("td[name='"+baseInfoData[i].name+"']").text(baseInfoData[i].value);
		
	}
	
	//展示添加的货物
	for (var i = 0;i<goodsData.length;i++){
		
		goodsTableEle.append(
			"<tr>"+
				"<td>"+goodsData[i].goodsListProductName+"</td>"+
				"<td>"+goodsData[i].goodsListProductAmount+"</td>"+
				"<td>"+goodsData[i].goodsListProductUnit+"</td>"+
				"<td>"+productClassMap[goodsData[i].goodsListProductClass]+"</td>"+
				"<td>"+storageMap[goodsData[i].goodsListStorageId]+"</td>"+
			"</tr>"		
		)
		
	}
	
}

//添加按钮
$("#add_btn").click(function(){
	openOperateWindow({
		title: "添加货物",
		url: "/admin/enterpriseManagement/repositoryManagement/stockIn/goods-add.jsp"
	})
})

//删除按钮
$("#remove_btn").click(function(){
	
	//获取选中的数据 数组格式
	var selectedData = cTable.bootstrapTable('getSelections');
	
	//如果没有选中则为0 不执行删除操作
	if (selectedData.length==0){
		
		//提示
		fixedAlert("请选中需要删除的数据!",0);
		
		return;//程序中断 不往下走了
	}
	
	//循环遍历选中的id
	for (var i = 0;i<selectedData.length;i++){
		selectedByDeleteId += selectedData[i].goodsListProductId+"-"
		//使用bootstrap-table 提供的removeByUniqueId 删除 (这里在渲染表格的时候一定要添加 UniqueId 属性)
		cTable.bootstrapTable('removeByUniqueId',selectedData[i].goodsListProductId);
		
	}
	
})

//修改按钮
$("#modify_btn").click(function(){
	
	openOperateWindow({
		title: "修改货物",
		isUpdate: true,
		url: "/admin/enterpriseManagement/repositoryManagement/stockIn/goods-update.jsp"
	})
})